home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / utilities / sourcopt.lha / SourcOpt / SOURCOPT.TXT < prev    next >
Encoding:
Text File  |  1992-12-05  |  3.4 KB  |  75 lines

  1.  
  2.                     SELCO Source Optimizer 1.0
  3.                    ----------------------------
  4.  
  5. Der Source Optimizer 1.0 ist Public Domain.
  6. Keine Veränderungen, keine kommerzielle Nutzung,
  7. kein Verkauf für mehr als 5.- DM
  8.  
  9. Die Weitergabe ist nur komplett gestattet, d.h. englische und deutsche Dokumen-
  10. tation sowie das Programm sourcopt.
  11.  
  12. Der SELCO Source Optimizer ist ein kleines Utility zur Optimierung von Assem-
  13. blerprogrammen. Nun haben zwar die meisten Assembler bereits eine Optimierungs-
  14. funktion eingebaut, aber meiner Meinung nach hat dieses Verfahren einen 
  15. entscheidenden Nachteil. Wenn man als Programmierer sein Programm mit einem
  16. Debugger oder Monitor zum Laufen bringen will, sieht man dort einen Code, der
  17. sich auf Grund der (automatischen) Optimierung des Assemblers mehr oder weniger 
  18. von dem ursprünglich geschriebenem Programm unterscheidet. Deshalb erschien es
  19. sinnvoll ein Programm zu schreiben, das eine Optimierung im Quellfile, also vor
  20. der Assemblierung vornimmt. Auf diese Weise erhält man ein kurzes und schnelles
  21. Assembler-Programm, das sich nach dem Assemblieren nur wenig vom Original unter-
  22. scheidet.
  23.  
  24. Benutzung des SELCO Source Optimizers
  25.  
  26. Das Programm muß vom CLI oder der SHELL gestartet werden. Eine Hilfestellung
  27. erhält man durch Eingabe von 'sourcopt'.
  28. Die Syntax ist dabei Folgende:   'sourcopt InputFile OutputFile / Flags'
  29. Zwischen allen Teilen der Kommandozeile müssen Leerzeichen stehen.
  30. Für OutputFile ist ein anderer Name als für InputFile zu wählen. Es ist
  31. wenigstens ein Flag anzugeben. Zwischen den Flags müssen ebenfalls Leerzeichen
  32. stehen.
  33. gültige Flags sind:
  34. a - ändert move.l #x,Dn     -> moveq #x,Dn wenn x 0...127 (x dez bin oder hex)
  35. b - ändert move.l #Label,An -> lea Label(pc),An
  36. c - ändert move.l Label,... -> move.l Label(pc),...
  37. d - ändert move.l #0,An     -> suba.l An,An               (0 dez bin oder hex)
  38.  
  39. Im Falle einer fehlerhaften Eingabe wird die Hilfestellung angezeigt.
  40.  
  41. Die Arbeitsweise des SELCO Source Optimizer 1.0
  42.  
  43. Der Source Optimizer sucht zuerst alle Label im Programm. Auf diese Weise kann 
  44. dann später zwischen Labels und Konstanten unterschieden werden. Als Label wird
  45. ein Text erkannt, der in der ersten Spalte beginnt und dem kein '=', 'equ' oder
  46. 'macro' folgt. Kommentare werden natürlich nicht bearbeitet. Als Kommentar 
  47. werden Zeilen oder Teile von Zeilen gewertet, die mit ';' oder '*' beginnen.
  48. In einer geänderten Zeile wird nur das alte Kommando durch das neue ersetzt, 
  49. Labels, Konstanten und Kommentare bleiben unberührt. Während des Programm-
  50. laufes wird die gerade bearbeitete Zeile und im Pass 1 die Anzahl der gefundenen
  51. Labels und im Pass 2 die Anzahl der optimierten Zeilen und die dabei gesparten
  52. Bytes angezeigt.
  53.  
  54. Der Source Optimizer nimmt keinen Syntax-Test vor sondern geht bei seiner Ar-
  55. beit von korrekter Syntax aus. Man sollte deshalb vorher einen Probelauf mit 
  56. seinem Assembler vornehmen.
  57.  
  58. Hinweise, Fehlerbeschreibungen usw. bitte an folgende Adresse:
  59.  
  60.                           SELCO
  61.                           Alexander Fritsch
  62.                           Hafenstr. 20
  63.                           O-2355 Saßnitz/Rg
  64.                           Deutschland
  65.  
  66. P.S. Der SELCO Source Optimizer wurde mit M. Dillons DICE Compiler übersetzt.
  67.      (Demo-Version) Ich hoffe, daß die Vollversion in den nächsten Wochen bei
  68.      mir eintrifft. Vielen Dank an M. Dillon für dieses großartige Programm.
  69.        
  70.                                         Saßnitz, den 9.11.92   A. Fritsch                                
  71.  
  72.  
  73.  
  74.  
  75.